【PHP/演習問題】関数と戻り値[3]

【PHP/演習問題】関数と戻り値[3]

問題

年の日数を出力するプログラムを作成してください。
なお、下記条件を満たすものとします。

  • 年はコマンドライン引数で与える
  • 閏年判定のアルゴリズムはグレゴリオ暦に従う
  • 年の日数を求めるdays_in_year関数を作成する
    引数:年
    戻り値:年の日数
$ php practice.php 2022
2022年 : 365日
$ php practice.php 2016
2016年 : 366日
$ php practice.php 2100
2100年 : 365日
$ php practice.php 2400
2400年 : 366日

解答例

<?php

function is_leap_year( $year ) {
    
    if( $year % 4 == 0 && ( $year % 100 != 0 || $year % 400 == 0 ) ) {
        return true;
    }
    
    return false;
}

function days_in_year( $year ) {
    
    $days = 365;
    if( is_leap_year($year) ) $days = 366;
    
    return $days;
}

$year = $argv[1];

$days = days_in_year($year);

echo $year.'年 : '.$days."日\n";

?>